//#define _CRT_SECURE_NO_WARNINGS 1
//#include<stdio.h>
//
//
//struct ListNode* FindKthToTail(struct ListNode* pListHead, int k) {
//    struct ListNode* slow = pListHead, * fast = pListHead;
//
//    while (k--)
//    {
//        if (fast == NULL)
//        {
//            return NULL;
//        }
//        fast = fast->next;
//    }
//    while (fast)
//    {
//        fast = fast->next;
//        slow = slow->next;
//    }
//    return slow;
//}
//
//
//
//struct ListNode* middleNode(struct ListNode* head) {
//    struct ListNode* slow = head, * fast = head;
//    while (fast && fast->next)
//    {
//        slow = slow->next;
//        fast = fast->next->next;
//    }
//    return slow;
//
//}
//
//
//// struct ListNode* removeElements(struct ListNode* head, int val)
//// {
////     struct ListNode* prev=NULL,*cur=head;
////     while(cur)
////     {
////         if(cur->val==val)
////         {
////             if(head==cur)
////             {
////                 head=cur->next;
////                 free(cur);
////                 cur=head;
////             }
////             else
////             {
////                 prev->next=cur->next;
////                 free(cur);
////                 cur=prev->next;
////             }
////         }
////         else
////         {
////             prev=cur;
////             cur=cur->next;
////         }
////     }
////     return head;
//// }
//
//
//struct ListNode* removeElements(struct ListNode* head, int val)
//{
//    struct ListNode* newhead = NULL, * tail = NULL, * cur = head;
//    while (cur)
//    {
//        if (cur->val != val)
//        {
//            if (tail == NULL)
//            {
//                newhead = tail = cur;
//            }
//            else
//            {
//                tail->next = cur;
//                tail = tail->next;
//            }
//            cur = cur->next;
//        }
//        else
//        {
//            struct ListNode* next = cur->next;
//            free(cur);
//            cur = next;
//        }
//    }
//    if (tail)
//        tail->next = NULL;
//    return newhead;
//}
